@烟雨
1年前 提问
1个回答
Web 程序的防御机制有哪些
Anna艳娜
1年前
Web程序的防御机制有以下这些:
身份验证机制,现在绝大部分的 WEB 程序都采用原始的验证方式,即用户名和密码验证,服务器验证通过,即登陆成功,走向会话管理和访问控制环节。一 些安全性比较高的 WEB 程序,可能可能还会加入证书、Token 等验证方式。原始的用户名、密码验证机制存在很多问题,如可以获取用户名信息、可以推测密 码、可以通过程序漏洞绕过认证。如果 WEB 程序存在 sql 注入漏洞,hacker 就可以绕过密码认证。
访问控制,根据既定的规则来决定允许或者拒绝用户的请求。如果前面的权限认证机制正常工作,服务器就可以从用户发送的请求 中确认用户的身份,从而根据用户的权限来决定是否授权用户的请求动作。由于访问控制的要求很复杂,场景很多,因此这一阶段的安全漏洞也很多,但是渗透测试 时,也许需要大量重复性的工作,才会发现这样的漏洞。
拒绝已知的非法输入,一般是采用黑名单的方法,黑名单中包括在攻击中使用的一直的字符串或者字符。这种方法效果不明显,首先是恶意的字符串或者代码可能会经过各种格式编码,再次是攻击技术在不断的发展,总会有一些字符串过滤不到(防御总是落后于攻击就是这个道理)。
只接受已知的正常输入,即设置白名单。白名单虽然确实有效,但是许多情况下不满足我们的需求。
净化,这种方法是指WEB程序接收用户的输入,然后在后台对用户的输入进行净化。数据中可能存在的恶意字符被删除或者进行编码、转义。这种方法一般很有效,也被广泛使用。